Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Data modeling in a business enterprise requires different levels of expertise and may incur long turn around times. A typical workflow begins with the user (e.g., a sales manager, a manufacturing manager, and so on) specifying their data modeling needs or requirements to a developer; e.g., the information technologies (IT) group, third party provider, etc. The user making the request may be viewed as an expert who has specific knowledge about their particular practice (sales, production, etc.). The developer may be another expert who may have specific knowledge about the data systems (e.g., databases) of the business enterprise and how the data is represented (e.g., data models, data views, data tables, and so on) in the data systems.
Typically the user must convey their knowledge and particular data modeling needs to the developer who must then internalize and translate those requirements into understandable tasks on the data systems. This process can be time consuming and tedious, especially when the developer or group of developers may have to support requests from the many groups and departments within the business enterprise. Once translated, the developer may use a modeling tool or a scripting language to accomplish this task. This requires the developer to be highly skilled and have a solid understanding of both business requirements and technical knowledge.
Another aspect of the process is the potential for duplication of effort which may result in the proliferation of multiple similar data models. A large repository of data models may accumulate over time in a mature data system. Often times, the developer may not be aware that a previously defined data model exists that can satisfy the requirements of a particular user. As a result, the developer may create the same or similar data model, thus duplicating previous efforts. The proliferation of similar data models can create inconsistencies in the understanding of the business enterprise's data among different groups, increase the cost of managing unnecessarily large numbers of data models, and is generally not an optimal way to run and maintain the data systems.